In a programming environment, programmers may check out a file to write new programming, to change/update and/or debug. With the use of library type storage systems, this may be done by several different programmers simultaneously. Thus, if each person makes one or more changes, the others may not know what has been done. When the files are returned to the library from the various programmers, there will be no single correct and updated version.
Currently there are tools that allow a user to merge one set of changed files at a time, however, the user is required to determine how many sets there are and work through them keeping track of changes manually. Obviously, this is time consuming and prone to error. Other tools may automatically determine all the relevant sets of files that need to be updated, but the user must still work through these sets manually.
Thus, there is a need for a method and system for automatically selecting updated versions of a file and resolving conflicts therein.